/**
 * @description 线程组例程
 * 程序说明：
 * 获取当前正在运行的线程个数及其名称
 * @pageNo 398
 * @author mlmoria
 * @date 2017年2月6日
 * 输出结果：
 * 方法main所在的线程组含有
 * 1个线程
 * 线程组main
 * 含有1个线程
 *    其中第1个线程名为main
 * 线程组system
 * 含有5个线程
 *其中第1个线程名为Reference Handler
 *其中第2个线程名为Finalizer
 *其中第3个线程名为Signal Dispatcher
 *其中第4个线程名为Attach Listener
 *其中第5个线程名为main
 *
 */
package No11Thread;

public class J_ThreadGroup {

	public static void main(String[] args) {
		System.out.println("方法main所在的线程组含有");
		System.out.println(Thread.activeCount()+"个线程");
		Thread t=Thread.currentThread();
		ThreadGroup tg=t.getThreadGroup();
		for(;tg!=null;tg=tg.getParent()){
			System.out.println("线程组"+tg.getName());
			System.out.print("含有");
			System.out.println(tg.activeCount()+"个线程");
			int n=tg.activeCount();
			Thread [] tList=new Thread[n];
			int m=tg.enumerate(tList);
			for(int i=0;i<m;i++){
				System.out.println("   其中第"+(i+1)+"个线程名为"
			                       +tList[i].getName());;
			}
		}
	}
}
